package cn.iocoder.yudao.module.ai.controller.admin.material.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 素材管理分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MaterialPageReqVO extends PageParam {

    @Schema(description = "素材名称", example = "张三")
    private String name;

    @Schema(description = "素材描述", example = "随便")
    private String description;

    @Schema(description = "素材来源 ： sd 手动上传 ；wl 识别 ；dz 电子封条同步；参考字典类型（material-library-type）", example = "1")
    private String sourceType;

    @Schema(description = "素材类型 1 图片；2 视频；参见字典material-type", example = "2")
    private String fileType;

    @Schema(description = "所属企业")
    private String ownerOrg;

    @Schema(description = "所属企业名称", example = "王五")
    private String ownerOrgName;

    @Schema(description = "场景分类，参见字典 scene-classification", example = "2")
    private String senceType;

    @Schema(description = "文件原始名称", example = "赵六")
    private String fileOriginalName;

    @Schema(description = "文件存储路径")
    private String fileUploadPath;

    @Schema(description = "时长（针对视频）秒")
    private Long duration;

    @Schema(description = "包含文件数量")
    private Integer containFileNum;

    @Schema(description = "文件大小")
    private Long fileSize;

    @Schema(description = "修复状态", example = "1")
    private String repairStatus;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    /**
     * 起始时间 格式 yyyy-MM-dd HH:mm:ss
     */
    @Schema(description = "起始创建时间，格式 yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTimeBegin;
    /**
     * 截止时间 格式 yyyy-MM-dd HH:mm:ss
     */
    @Schema(description = "截止创建时间，格式 yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTimeEnd;

    @Schema(description = "供应商id", example = "19072")
    private Long suplierId;

    @Schema(description = "创建人", example = "1")
    private String creator ;
}